
package ch.hearc.securiteSysteme.serie2.ex2ChallengeResponse.use;

import java.io.IOException;
import java.security.NoSuchAlgorithmException;

import ch.hearc.securiteSysteme.serie2.ex2ChallengeResponse.server.Handling;
import ch.hearc.securiteSysteme.serie2.ex2ChallengeResponse.server.SocketServer;

import com.bilat.tools.io.console.Clavier;

/**
 * 
 * @author ”Raphaël Capocasale”
 *
 * Le client envoie son nom username
 * Le server génère un nbonce et envoie au client (nbonce + nbSequ) en clair
 * Le client envoie son md5(pass + nbonce + nbSequ)
 * Le server vérifie
 *
 */
public class UseServer
	{
	
	/*------------------------------------------------------------------*\
	|*							Methodes Public							*|
	\*------------------------------------------------------------------*/
	
	public static void main(String[] args)
		{
		main();
		}
	
	public static void main()
		{
		new Thread(new Runnable()
			{
				
				@Override
				public void run()
					{
					int port = 40000;
					SocketServer server = new SocketServer();
					server.setPort(port);
					try
						{
						new Handling(server);
						Clavier.lireString("Pressez enter pour quitter...");
						server.stop();
						}
					catch (IOException | NoSuchAlgorithmException e)
						{
						System.err.println("Handling error !");
						e.printStackTrace();
						}
					}
			}).start();
		}
	/*------------------------------------------------------------------*\
	|*							Methodes Private						*|
	\*------------------------------------------------------------------*/
	
	}
